/*////////////////////////////////////////////////////////////////////
//文档生成日期：2005.10.07
//
//(1)概述：
//类名称：RssReaderMIDlet
//类说明：
//     实际上应该算作MVC中的View部分，是MIDlet的主界面。
//
//所在子系统：RssOwlMIDlet
//
//系统总描述:
	    我们提供的RSS无线阅读器J2ME版本[开源]是一个可以下载到手机(例如Nokia7610)或者其他无线手持设备(例如PocketPC)的应用程序，用来阅读存在于Internet中广泛的RSS新闻源。

	 子系统描述：
		RSS无线阅读器的功能列表：
	RSS Feed列表
		添加Rss Feed
		编辑Rss Feed
		删除Rss Feed
	读取Rss Feed新闻
		查看新闻摘要
		重新读取Rss Feed新闻
////////////////////////////////////////////////////////////////////*/

package com.zemo.midlet;

import java.io.IOException;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.rms.RecordStoreException;

import com.zemo.control.GUIController;


/**********************************************************
//RssReaderMIDlet
//
//Class Description:
//	实际上应该算作MVC中的View部分，是MIDlet的主界面。
    RssReaderMIDlet is an application that can read RSS feeds. User can store
    multiple RSS feeds as bookmarks into application's record store.
**********************************************************/
public class RssReaderMIDlet extends MIDlet{
	private Display display;
	private static GUIController controller;
	
	/**
	 * default constructor
	 */
	public RssReaderMIDlet() {
		super();
		display = Display.getDisplay(this);
	}

	/* (non-Javadoc)
	 * @see javax.microedition.midlet.MIDlet#startApp()
	 */
	protected void startApp() 
	throws MIDletStateChangeException{
		controller = new GUIController(this);
		controller.init();//初始化RecordStore
	}

	/* (non-Javadoc)
	 * @see javax.microedition.midlet.MIDlet#pauseApp()
	 */
	protected void pauseApp() {
		this.notifyPaused();
	}

	/* (non-Javadoc)
	 * @see javax.microedition.midlet.MIDlet#destroyApp(boolean)
	 */
	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		controller = null;		
	}
	
	/**********************************************************
	//	 RssReaderMIDlet::setCurrent()
	//
	//	 Description:
	//	  设置当前显示的界面
	//
	//	 Parameters:
	//	 Return Values:
	//	 Author:
	//	      zhengyun@zemo 2005.10.07
	//
	**********************************************************/
	public void setCurrent(Displayable disp){
		display.setCurrent(disp);
	}	
	public void setCurrent(Alert alert, Displayable disp){
		display.setCurrent(alert, disp);
    }
	
	public Displayable getCurrent(){
		return display.getCurrent();
    }
	
	/**********************************************************
	//	 RssReaderMIDlet::getCurrentDisplay()
	//
	//	 Description:
	//	  获取当前的Display，这样可以让其他类能够控制要显示什么
	//
	//	 Parameters:
	//	 Return Values:
	//	 Author:
	//	      zhengyun@zemo 2005.10.07
	//
	**********************************************************/
	public Display getCurrentDisplay(){
		return display;
    }
	
	public void exit(boolean arg0){
		try{
			destroyApp(arg0);
			notifyDestroyed();
		}catch(MIDletStateChangeException e){
			//
		}
	}
}
